home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / totem / plugins / bbc / bbc.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  3.0 KB  |  86 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import gobject
  5. gobject.threads_init()
  6. import pygst
  7. pygst.require('0.10')
  8. import gst
  9. import totem
  10. import gtk
  11. import gconf
  12. import time
  13. import os
  14. from contentview import ContentView
  15.  
  16. class BBCViewer(totem.Plugin):
  17.     
  18.     def __init__(self):
  19.         totem.Plugin.__init__(self)
  20.         self.loaded_content = False
  21.  
  22.     
  23.     def mapped(self, contentview):
  24.         gst.log('mapped')
  25.         if not self.loaded_content:
  26.             self.view.load()
  27.             self.loaded_content = True
  28.         
  29.  
  30.     
  31.     def activate(self, totem_object):
  32.         self.gconf_client = gconf.client_get_default()
  33.         self.totem = totem_object
  34.         self.view = ContentView()
  35.         self.view.connect('play-episode', self.playEpisode)
  36.         vbox = gtk.VBox()
  37.         scrollwin = gtk.ScrolledWindow()
  38.         scrollwin.add(self.view)
  39.         scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
  40.         scrollwin.set_shadow_type(gtk.SHADOW_ETCHED_IN)
  41.         vbox.pack_start(scrollwin, True, True)
  42.         vbox.show_all()
  43.         totem_object.add_sidebar_page('bbc', _('BBC'), vbox)
  44.         self.view.connect('map', self.mapped)
  45.         gst.log('activated')
  46.  
  47.     
  48.     def deactivate(self, totem_object):
  49.         totem_object.remove_sidebar_page('bbc')
  50.         self.loaded_content = False
  51.  
  52.     
  53.     def getConnectionSpeed(self):
  54.         speed_map = [
  55.             14400,
  56.             19200,
  57.             28800,
  58.             33600,
  59.             34400,
  60.             56000,
  61.             112000,
  62.             256000,
  63.             384000,
  64.             512000,
  65.             1536000,
  66.             10752000]
  67.         speed_enum = self.gconf_client.get_int('/apps/totem/connection_speed')
  68.         if speed_enum >= 0 and speed_enum < len(speed_map):
  69.             speed_kbps = speed_map[speed_enum] / 1000
  70.         else:
  71.             speed_kbps = 0
  72.         gst.log('Configured connection speed #%d: %d kbit/s' % (speed_enum, speed_kbps))
  73.         return speed_kbps
  74.  
  75.     
  76.     def playEpisode(self, view, episode):
  77.         gst.info('Playing episode ' + episode.title)
  78.         mrl = episode.getUri(self.getConnectionSpeed())
  79.         if mrl:
  80.             gst.log('Playing uri ' + mrl)
  81.             self.totem.action_set_mrl_and_play(mrl, None)
  82.         else:
  83.             gst.error('No uri for episode ' + episode.title)
  84.  
  85.  
  86.